public class RecursionExercise01 {
    public static void main(String[] args) {
        T t = new T();
        int n = 10;
        int res = t.fibonacci(n);
        if(res != -1){
            System.out.println("当 n="+ n +" 对应的斐波那契数=" + res);
        }
        //桃子
        int day = 9;
        int peachNum = t.peach(day);
        if(peachNum!= -1){
            System.out.println("第" + day + "天有" + peachNum + "个桃子");
        }
    }

}

class T {
    //请使用递归的方式求出斐波那契数 1,1,2,3,5,8,13...给你一个整数 n，求出它的值是多
    public int fibonacci(int n) {
        if (n >= 1) {
            if (n == 1 || n == 2) {
                return 1;
            } else {
                return fibonacci(n - 1) + fibonacci(n - 2);
            }
        } else {
            System.out.println("请输入n>=1的整数");
            return -1;
        }
    }
    //猴子吃桃子问题：有一堆桃子，猴子第一天吃了其中的一半，并再多吃了一个！
    //以后每天猴子都吃其中的一半，然后再多吃一个。当到第 10 天时，
    //想再吃时（即还没吃），发现只有 1 个桃子了。问题：最初共多少个桃子？
    public int peach(int day){
        if(day == 10){
            return 1;
        }else if(day >= 1 && day <= 9){
            return (peach(day+1)+1)*2;
        }else{
            System.out.println("day 在1-10之间");
            return -1;
        }
    }
}